package models;

import play.db.jpa.Model;

import play.*;
import play.db.jpa.*;
import javax.persistence.*;

import org.joda.time.DateTime;

import java.util.*;

public class Parcela extends Model{
	
	//Atributos
	
	private long codCaixa;
	private long sequencia;
	private long codUsuario;
	
	@Temporal(TemporalType.DATE)
	private DateTime dataVencimento;
	private float valorBruto;
	private long codFormaReceb;
	
	@Column(length = 50)
	private String descricao;
	private float descontos;
	private float acrescimos;
	private float valorTotal;
	
	@Temporal(TemporalType.DATE)
	private DateTime dataPagamento;
	
	@Temporal(TemporalType.DATE)
	private DateTime dataRecebimento;
	
	@Temporal(TemporalType.DATE)
	private DateTime dataLancamento;
	
	
	//Métodos de acesso
	
	public long getCodCaixa()
	{
		return this.codCaixa;
	}
	
	public long getSequencia()
	{
		return this.sequencia;
	}
	
	public long getCodUsuario()
	{
		return this.codUsuario;
	}
	
	public DateTime getDataVencimento()
	{
		return this.dataVencimento;
	}
	
	public void setDataVencimento(DateTime dataVencimento)
	{
		this.dataVencimento = dataVencimento;
	}
	
	public float getValorBruto()
	{
		return this.valorBruto;
	}
	
	public void setValorBruto(float valorBruto)
	{
		this.valorBruto = valorBruto;
	}
	
	public long getCodFormaReceb()
	{
		return this.codFormaReceb;
	}
	
	public String getDescricao()
	{
		return this.descricao;
	}
	
	public void setDescricao(String descricao)
	{
		this.descricao = descricao;
	}
	
	public float getDescontos()
	{
		return this.descontos;
	}
	
	public void setDescontos(float descontos)
	{
		this.descontos = descontos;
	}
	
	public float getAcrescimos()
	{
		return this.acrescimos;
	}
	
	public void setAcrescimos(float acrescimos)
	{
		this.acrescimos = acrescimos;
	}
	
	public float getValorTotal()
	{
		return this.valorTotal;
	}
	
	public DateTime getDataPagamento()
	{
		return this.dataPagamento;
	}
	
	public void setDataPagamento(DateTime dataPagamento)
	{
		this.dataPagamento = dataPagamento;
	}
	
	public DateTime getDataRecebimento()
	{
		return this.dataRecebimento;
	}
	
	public void setDataRecebimento(DateTime dataRecebimento)
	{
		this.dataRecebimento = dataRecebimento;
	}
	
	public DateTime getDataLancamento()
	{
		return this.dataLancamento;
	}
	
	
	//Construtor
	
	public Parcela (long codCaixa, long sequencia, long codUsuario, DateTime dataVencimento, float valorBruto,
			long codFormaReceb, String descricao, float descontos, float acrescimos, float valorTotal,
			DateTime dataPagamento, DateTime dataRecebimento)
	{
		this.codCaixa = codCaixa;
		this.sequencia = sequencia;
		this.codUsuario = codUsuario;
		this.dataVencimento = dataVencimento;
		this.valorBruto = valorBruto;
		this.codFormaReceb = codFormaReceb;
		this.descricao = descricao;
		this.descontos = descontos;
		this.acrescimos = acrescimos;
		this.valorTotal = valorTotal;
		this.dataPagamento = dataPagamento;
		this.dataRecebimento = dataRecebimento;
		this.dataLancamento = new DateTime();
	}

}
